SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[paGenerarNormaDeLicenciaMasivaBK28052009] 
 @Norma VARCHAR(50),
 @IdFechaDeLicencia INT,
 @CuiseDesde INT,
 @CuiseHasta INT,
 @SituacionDeRevista INT = NULL
AS
SET NOCOUNT ON
DECLARE @idNorma INT

IF EXISTS(SELECT * FROM tb_Normas WHERE Descripcion = @Norma)
	SELECT @IdNorma = IdNorma FROM tb_Normas WHERE  Descripcion = @Norma
ELSE
BEGIN
	INSERT INTO tb_Normas([Descripcion], [TipoNorma], [SeImprimio])
	VALUES(@Norma, 3, 1)
	SELECT @idNorma = @@IDENTITY
END

SELECT @idNorma = IdNorma FROM tb_Normas WHERE Descripcion = @Norma

UPDATE tb_SubserviciosAgentes SET NormaInicio = @IdNorma 
FROM         dbo.tb_SubserviciosAgentes INNER JOIN
                      dbo.tb_ServiciosAgentes ON dbo.tb_SubserviciosAgentes.ServicioAgente = dbo.tb_ServiciosAgentes.idServicioAgente INNER JOIN
                      dbo.tb_Agentes ON dbo.tb_ServiciosAgentes.Agente = dbo.tb_Agentes.idAgente INNER JOIN
                      dbo.tb_Organizaciones ON dbo.tb_ServiciosAgentes.UbicacionOrig = dbo.tb_Organizaciones.idOrganizaciones INNER JOIN
                      dbo.tb_Licencias ON dbo.tb_SubserviciosAgentes.Licencia = dbo.tb_Licencias.idLicencia INNER JOIN
                      dbo.tb_FechasDeLicencias ON dbo.tb_Licencias.idLicencia = dbo.tb_FechasDeLicencias.Licencia AND dbo.tb_SubserviciosAgentes.FechaAlta >= dbo.tb_FechasDeLicencias.FechaDesde and tb_SubserviciosAgentes.FechaBaja <= tb_FechasDeLicencias.FechaHasta
		INNER JOIN
                      dbo.tb_Plazas ON dbo.tb_SubserviciosAgentes.Plaza = dbo.tb_Plazas.idPlaza INNER JOIN
	        dbo.tb_CargosSalariales ON IdCargo = tb_ServiciosAgentes.CargoSalarial INNER JOIN 
	        dbo.tb_Afiliaciones ON tb_Agentes.idAgente = tb_Afiliaciones.idAgente INNER JOIN 
	dbo.tb_SituacionRevista SR ON SituacionRevista = IdSituacionRevista INNER JOIN
	dbo.tb_PlazasDeMovimiento PM ON idSubServicio = PM.Servicio INNER JOIN 
	dbo.tb_Localidades ON IdLocalidad = tb_Organizaciones.Localidad
WHERE
	dbo.tb_Afiliaciones.Organismo = 1 --AND ObligacionesADescontar > 0
AND NormaInicio IS NULL
AND ((@IdFechaDeLicencia = -1) OR (@IdFechaDeLicencia <> -1 AND @IdFechaDeLicencia = IdFechaDeLicencia))
AND tb_Plazas.Cuise >= @CuiseDesde
AND tb_Plazas.Cuise <= @CuiseHasta
AND ((@SituacionDerevista IS NULL) OR (@SituacionDeRevista IS NOT NULL AND @SituacionDeRevista = SituacionRevista))
GO
